<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class mod_wizard_empresa extends CI_Model {
    
    function __construct()
    {
        parent::__construct();
    }
    
/*****************************************************************************************************************/
/***                                               I N S E R T                                                 ***/
/*****************************************************************************************************************/ 
    
    public function insert_wizard_empresa()
    {
        $data['nombre']=$this->input->post('nombre');
        $data['nombre_agente']=$this->input->post('nombre_agente');
        $data['nombre_base_dato']=$this->input->post('nombre_base_dato');
        $data['iniciar_automaticamente']=$this->input->post('iniciar_automaticamente');
        $data['INTERVALO_OBTENCION_RUTA']=$this->input->post('INTERVALO_OBTENCION_RUTA');
        $data['INTERVALO_ENVIO_NOTIFICACION']=$this->input->post('INTERVALO_ENVIO_NOTIFICACION');
        $data['INTERVALO_ENVIO_INFORMACION']=$this->input->post('INTERVALO_ENVIO_INFORMACION');
        if ($this->input->post('envio_informacion_error'))
        {    
            $data['envio_informacion_error']=1;
        }else{
            $data['envio_informacion_error']=0;
        }
        if ($this->input->post('envio_informacion_notificacion'))
        {    
            $data['envio_informacion_notificacion']=1;
        }else{
            $data['envio_informacion_notificacion']=0;
        }
        if ($this->input->post('envio_informacion_ruta'))
        {    
            $data['envio_informacion_ruta']=1;
        }else{
            $data['envio_informacion_ruta']=0;
        }
        if ($this->input->post('envio_informacion_gestion'))
        {    
            $data['envio_informacion_gestion']=1;
        }
        else{
            $data['envio_informacion_gestion']=0;
        }
        if ($this->input->post('activo_horario'))
        {    
            $data['activo_horario']=1;
        }
        else{
            $data['activo_horario']=0;
        }
        $data['horario_inicio']=$this->input->post('horario_inicio');
        $data['horario_fin']=$this->input->post('horario_fin');
        $data['cantidad_errores']=$this->input->post('cantidad_errores');
        if ($this->input->post('activo_login'))
        {    
            $data['activo_login']=1;
        }
        else{
            $data['activo_login']=0;
        }
        if ($this->input->post('demo'))
        {    
            $data['demo']=1;
        }
        else{
            $data['demo']=0;
        }
        $data['activo']=0;
        $this->db->insert('empresa',$data);                        
    }
    
    public function insert_wizard_tipo_usuario()
    {
        $data['descripcion'] = $this->input->post('descripcion');
        $data['id_empresa'] = $this->input->post('id_wizard_empresa');
        $this->db->insert('tipo_usuario',$data);
    }
    
    public function insert_wizard_marca()
    {
        $data['nombre'] = $this->input->post('nombre');
        $this->db->insert('marca',$data);                        
    }
    
    public function insert_wizard_modelo()
    {
        $data['nombre'] = $this->input->post('nombre');
        $data['id_marca'] = $this->input->post('id_marca');
        $this->db->insert('modelo',$data);                        
    }
    
    public function insert_wizard_usuario()
    {
        $data['codigo'] = $this->input->post('codigo');
        $data['user'] = $this->input->post('user');
        if ($this->input->post('isadmin'))
        {    
            $data['isadmin']=1;
        }
        else 
        {
            $data['isadmin']=0;
        }
        $data['nombre'] = $this->input->post('nombre');
        $data['email'] = $this->input->post('email');
        $data['fecha_expiracion'] = $this->input->post('fecha_expiracion');
        $data['id_tipo_usuario'] = $this->input->post('id_tipo_usuario');
        $data['activo']=0;
        $this->db->insert('usuario',$data);                        
    }
    
    public function insert_wizard_fono()
    {
        $data['imei'] = $this->input->post('imei');
        $data['numero'] = $this->input->post('numero');
        $data['id_modelo'] = $this->input->post('id_modelo');
        $data['id_telco'] = $this->input->post('id_telco');
        if ($this->input->post('envio_error'))
        {    
            $data['envio_error']=1;
        }
        else 
        {
            $data['envio_error']=0;
        }
        $data['activo']=1;
        if ($this->input->post('rastreo'))
        {    
            $data['rastreo']=1;
        }
        else 
        {
            $data['rastreo']=0;
        }
        $this->db->insert('telefono',$data);                   
    }
    
    public function insert_wizard_agente($id_telefono)
    {
        $data['codigo'] = $this->input->post('codigo');
        $data['user'] = $this->input->post('user');
        if ($this->input->post('isadmin'))
        {    
            $data['isadmin']=1;
        }
        else 
        {   
            $data['isadmin']=0;
        }
        $data['nombre'] = $this->input->post('nombre');
        $data['email'] = $this->input->post('email');
        $data['fecha_expiracion'] = $this->input->post('fecha_expiracion');
        $data['id_tipo_usuario'] = $this->input->post('id_tipo_usuario');
        $data['id_telefono'] = $id_telefono;
        $data['activo']=1;
        $this->db->insert('usuario',$data);                        
    }

/*****************************************************************************************************************/
/***                                               U P D A T E                                                 ***/
/*****************************************************************************************************************/ 
    
    public function update_wizard_empresa()
    {
        $data['nombre']=$this->input->post('nombre');
        $data['nombre_agente']=$this->input->post('nombre_agente');
        $data['nombre_base_dato']=$this->input->post('nombre_base_dato');
        $data['iniciar_automaticamente']=$this->input->post('iniciar_automaticamente');
        $data['INTERVALO_OBTENCION_RUTA']=$this->input->post('INTERVALO_OBTENCION_RUTA');
        $data['INTERVALO_ENVIO_NOTIFICACION']=$this->input->post('INTERVALO_ENVIO_NOTIFICACION');
        $data['INTERVALO_ENVIO_INFORMACION']=$this->input->post('INTERVALO_ENVIO_INFORMACION');
        if ($this->input->post('envio_informacion_error'))
        {    
            $data['envio_informacion_error']=1;
        }else{
            $data['envio_informacion_error']=0;
        }
        if ($this->input->post('envio_informacion_notificacion'))
        {    
            $data['envio_informacion_notificacion']=1;
        }else{
            $data['envio_informacion_notificacion']=0;
        }
        if ($this->input->post('envio_informacion_ruta'))
        {    
            $data['envio_informacion_ruta']=1;
        }else{
            $data['envio_informacion_ruta']=0;
        }
        if ($this->input->post('envio_informacion_gestion'))
        {    
            $data['envio_informacion_gestion']=1;
        }
        else{
            $data['envio_informacion_gestion']=0;
        }
        if ($this->input->post('activo_horario'))
        {    
            $data['activo_horario']=1;
        }
        else{
            $data['activo_horario']=0;
        }
        $data['horario_inicio']=$this->input->post('horario_inicio');
        $data['horario_fin']=$this->input->post('horario_fin');
        $data['cantidad_errores']=$this->input->post('cantidad_errores');
        if ($this->input->post('activo_login'))
        {    
            $data['activo_login']=1;
        }
        else{
            $data['activo_login']=0;
        }
        if ($this->input->post('demo'))
        {    
            $data['demo']=1;
        }
        else{
            $data['demo']=0;
        }
        $data['activo']=0;
        $this->db->where('empresa.id_empresa',$this->input->post('id_wizard_empresa'));
        $this->db->update('empresa',$data);	
    }
    
    public function update_wizard_tipo_usuario()
    {
        $data['descripcion'] = $this->input->post('descripcion');
        $this->db->where('tipo_usuario.id_tipo_usuario',$this->input->post('id_wizard_tipo_usuario'));
        $this->db->update('tipo_usuario',$data);
    }
    
    public function update_wizard_marca()
    {
        $data['nombre'] = $this->input->post('nombre');
        $this->db->where('marca.id_marca',$this->input->post('id_wizard_marca'));
        $this->db->update('marca',$data);	
    }
    
    public function update_wizard_modelo()
    {
        $data['nombre'] = $this->input->post('nombre');
        $data['id_marca'] = $this->input->post('id_marca');
        $this->db->where('modelo.id_modelo',$this->input->post('id_wizard_modelo'));
        $this->db->update('modelo',$data);	
    }
    
    public function update_wizard_usuario()
    {
        $data['codigo'] = $this->input->post('codigo');
        $data['user'] = $this->input->post('user');
        if ($this->input->post('isadmin')){    
            $data['isadmin']=1;
        }
        else 
        {
            $data['isadmin']=0;
        }
        $data['nombre'] = $this->input->post('nombre');
        $data['email'] = $this->input->post('email');
        $data['fecha_expiracion'] = $this->input->post('fecha_expiracion');
        $data['id_tipo_usuario'] = $this->input->post('id_tipo_usuario');
        $this->db->where('usuario.id_usuario',$this->input->post('id_wizard_usuario'));
        $this->db->update('usuario',$data);	
    }
    
    public function update_wizard_fono()
    {
        $data['imei'] = $this->input->post('imei');
        $data['numero']=$this->input->post('numero');
        $data['id_modelo'] = $this->input->post('id_modelo');
        $data['id_telco'] = $this->input->post('id_telco');
        if ($this->input->post('envio_error'))
        {    
            $data['envio_error']=1;
        }
        else 
        {
            $data['envio_error']=0;
        }
        $data['activo']=1;
        if ($this->input->post('rastreo'))
        {    
            $data['rastreo']=1;
        }
        else 
        {
            $data['rastreo']=0;
        }
        $this->db->where('telefono.id_telefono',$this->input->post('id_telefono'));
        $this->db->update('telefono',$data);	
    }
    
    public function update_wizard_agente()
    {
        $data['codigo'] = $this->input->post('codigo');
        $data['user'] = $this->input->post('user');
        $data['pass'] = $this->input->post('pass');
        if ($this->input->post('isadmin'))
        {    
            $data['isadmin']=1;
        }
        else 
        {   
            $data['isadmin']=0;
        }
        $data['nombre'] = $this->input->post('nombre');
        $data['email'] = $this->input->post('email');
        $data['fecha_expiracion'] = $this->input->post('fecha_expiracion');
        $data['id_tipo_usuario'] = $this->input->post('id_tipo_usuario');
        $data['id_telefono'] = $this->input->post('id_telefono');
        $data['activo']=1;
        $this->db->where('usuario.id_usuario',$this->input->post('id_wizard_usuario'));
        $this->db->update('usuario',$data);
    }
    
    public function update_wizard_telefono_agente($id_telefono)
    {
        $data['id_telefono'] = $id_telefono;
        $data['activo']=1;
        $this->db->where('usuario.id_usuario',$this->input->post('id_wizard_usuario'));
        $this->db->update('usuario',$data);	
    }
/*****************************************************************************************************************/
/***                                               D E L E T E                                                 ***/
/*****************************************************************************************************************/ 
    
    public function delete_wizard_tipo_usuario($id_tipo_usuario)
    {
        $this->db->where('tipo_usuario.id_tipo_usuario',$id_tipo_usuario );
        $this->db->delete('tipo_usuario');
    }
    
    public function delete_wizard_marca($id_marca)
    {
        $this->db->where('marca.id_marca',$id_marca );
        $this->db->delete('marca');
    }    
    
    public function delete_wizard_modelo($id_modelo)
    {
        $this->db->where('modelo.id_modelo',$id_modelo);
        $this->db->delete('modelo');
    }
    
/*****************************************************************************************************************/
/***                                         C A R G A     T A B L A                                           ***/
/*****************************************************************************************************************/ 
    
    public function carga_tabla_tipo_usuario($id_wizard_empresa)
    {          
        if($id_wizard_empresa)
        {
            return $this->db->query("SELECT
            tipo_usuario.id_tipo_usuario,
            tipo_usuario.descripcion,
            empresa.nombre as nombre_empresa
            FROM
            tipo_usuario
            INNER JOIN empresa ON tipo_usuario.id_empresa = empresa.id_empresa
            WHERE
            tipo_usuario.id_empresa = ".$id_wizard_empresa."");    
        }else{
            return $this->db->query("SELECT
            tipo_usuario.id_tipo_usuario,
            tipo_usuario.descripcion,
            empresa.nombre as nombre_empresa
            FROM
            tipo_usuario
            INNER JOIN empresa ON tipo_usuario.id_empresa = empresa.id_empresa");
        }    	
    }
    
    public function carga_tabla_marca()
    {          
       	return $this->db->query("
            SELECT marca.id_marca, 
                marca.nombre
            FROM
                marca");
    }
    
    public function carga_tabla_modelo()
    {          
       	return $this->db->query("SELECT modelo.id_modelo,
                            modelo.nombre,
                            marca.nombre as marca
                            FROM
                            marca
                            INNER JOIN modelo ON marca.id_marca = modelo.id_marca");
    }
    
    public function carga_tabla_usuario($id_wizard_empresa)
    {          
       	return $this->db->query("
            SELECT usuario.id_usuario,
                usuario.codigo,
                usuario.user,
                usuario.nombre,
                usuario.email,
                usuario.activo
            FROM
                usuario
            INNER JOIN tipo_usuario ON usuario.id_tipo_usuario = tipo_usuario.id_tipo_usuario
            WHERE
                tipo_usuario.id_empresa ='".$id_wizard_empresa."'");   
    }
    
        public function carga_tabla_agente($id_wizard_empresa)
    {          
       	return $this->db->query("
            SELECT usuario.id_usuario, 
                usuario.codigo,
                usuario.user,
                usuario.nombre,
                usuario.email,
                usuario.id_telefono,
                usuario.activo
            FROM
                usuario
            INNER JOIN tipo_usuario ON usuario.id_tipo_usuario = tipo_usuario.id_tipo_usuario
            WHERE
                tipo_usuario.id_empresa ='".$id_wizard_empresa."'");   
    }
    
    public function carga_tabla_imei($id_wizard_empresa)
    {          
       	return $this->db->query("
            SELECT usuario.id_usuario,
                usuario.codigo,
                usuario.user,
                usuario.nombre,
                usuario.email,
                usuario.id_telefono,                
                usuario.activo,                
                telefono.imei AS imei,
                telefono.numero AS numero,
                telefono.rastreo AS rastreo
            FROM
                usuario
            INNER JOIN telefono ON usuario.id_telefono = telefono.id_telefono
            INNER JOIN tipo_usuario ON usuario.id_tipo_usuario = tipo_usuario.id_tipo_usuario
            WHERE
                tipo_usuario.id_empresa ='".$id_wizard_empresa."'");   
    }
    
/*****************************************************************************************************************/
/***                                         C A R G A     D A T O S                                           ***/
/*****************************************************************************************************************/
    
    public function carga_datos_empresa($id_wizard_empresa)
    {          
       	return $this->db->query("
            SELECT empresa.id_empresa, 
                empresa.nombre,
                empresa.nombre_agente,
                empresa.nombre_base_dato,
                empresa.iniciar_automaticamente,
                empresa.INTERVALO_OBTENCION_RUTA,
                empresa.INTERVALO_ENVIO_NOTIFICACION,
                empresa.INTERVALO_ENVIO_INFORMACION,
                empresa.envio_informacion_error,
                empresa.envio_informacion_notificacion,
                empresa.envio_informacion_ruta,
                empresa.envio_informacion_gestion,
                empresa.activo_horario,
                empresa.horario_inicio,
                empresa.horario_fin,
                empresa.cantidad_errores,
                empresa.activo_login,
                empresa.demo,
                empresa.activo
            FROM
                empresa
            WHERE empresa.id_empresa='".$id_wizard_empresa."' LIMIT 1");   
    }
    
    public function carga_datos_tipo_usuario($id_tipo_usuario)
    {          
       	return $this->db->query("
            SELECT tipo_usuario.id_tipo_usuario, 
                tipo_usuario.descripcion
            FROM
                tipo_usuario
            WHERE tipo_usuario.id_tipo_usuario='".$id_tipo_usuario."' LIMIT 1");   
    }
    
    public function carga_datos_marca($id_marca)
    {          
       	return $this->db->query("
            SELECT marca.id_marca, 
                marca.nombre
            FROM
                marca
            WHERE marca.id_marca='".$id_marca."' LIMIT 1");   
    }
    
    public function carga_datos_modelo($id_modelo)
    {          
       	return $this->db->query("
            SELECT modelo.id_modelo, 
                modelo.nombre,
                modelo.id_marca
            FROM
                modelo
            WHERE modelo.id_modelo='".$id_modelo."' LIMIT 1");   
    }

    public function carga_datos_usuario($id_usuario)
    {          
       	return $this->db->query("
            SELECT usuario.id_usuario, 
                usuario.codigo,
                usuario.user,
                usuario.isadmin,
                usuario.nombre,
                usuario.email,
                usuario.fecha_expiracion,
                usuario.id_tipo_usuario,
                usuario.id_telefono
            FROM
                usuario
            WHERE usuario.id_usuario='".$id_usuario."' LIMIT 1");   
    }
    
    public function carga_wizard_telefono($id_telefono)
    {
        return $this->db->query("
            SELECT telefono.id_telefono, 
                telefono.imei,
                telefono.numero,
                telefono.id_modelo,
                telefono.id_telco,
                telefono.envio_error,
                telefono.activo,
                telefono.rastreo
            FROM
                telefono
            WHERE telefono.id_telefono='".$id_telefono."' LIMIT 1");
    }
}